package br.gov.mi.corporativo.dominio.boundary.comum.pessoatipointeresse;

import java.util.Date;
import java.util.List;

import javax.inject.Inject;
import javax.jws.WebService;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import br.gov.mi.corporativo.dominio.boundary.comum.pessoatipointeresse.PessoaTipoInteresseEndPoint;
import br.gov.mi.corporativo.dominio.entidade.comum.PessoaTipoInteresse;
import br.gov.mi.corporativo.dominio.repositorio.comum.PessoaTipoInteresseRepositorio;
import br.gov.mi.infraestrutura.crud.CrudServicoImpl;

@Component
@Transactional(readOnly=true)
@WebService(endpointInterface = "br.gov.mi.corporativo.dominio.boundary.comum.pessoatipointeresse.PessoaTipoInteresseEndPoint")
public class PessoaTipoInteresseServico extends CrudServicoImpl<PessoaTipoInteresse, Long, PessoaTipoInteresseRepositorio>  implements PessoaTipoInteresseEndPoint{
	
	@Inject
    public void setRepository(PessoaTipoInteresseRepositorio repositorio) {
        super.setRepositorio(repositorio);
    }

	@Override
	public PessoaTipoInteresse recuperarPorIdPessoaTipoInteresse(Long idPessoaTipoInteresse) {
		return repositorio.findByIdPessoaTipoInteresse(idPessoaTipoInteresse);
	}

	@Override
	public List<PessoaTipoInteresse> recuperarPorPessoa(Long pessoa) {
		return repositorio.findByPessoa(pessoa);
	}

	@Override
	public List<PessoaTipoInteresse> recuperarPorTipoInteresse(Long tipoInteresse) {
		return repositorio.findByTipoInteresse(tipoInteresse);
	}

	@Override
	public List<PessoaTipoInteresse> recuperarPorDtInicio(Date dtInicio) {
		return repositorio.findByDtInicio(dtInicio);
	}

	@Override
	public List<PessoaTipoInteresse> recuperarPorDtTermino(Date dtTermino) {
		return repositorio.findByDtTermino(dtTermino);
	}

	@Override
	public List<PessoaTipoInteresse> recuperarPorCsSituacaoInteresse(String csSituacaoInteresse) {
		return repositorio.findByCsSituacaoInteresse(csSituacaoInteresse);
	}
	
}